﻿#region Copyright 2008 - Evolution Systems.
//
// Author: José Rogério Ferreira dos Santos(joserogerio.santos@gmail.com)
// Date: 24/01/2009
// Time: 14:34
// All rights are reserved. Reproduction or transmission in whole or in part, in
// any form or by any means, eletronic, mechanical or otherwise, is prohibited
// without the prior written permission of the author.
//
// Filename: ${FILE_NAME}.cs
#endregion
using System;
using System.Collections.Generic;

namespace csharp.rad.sisponto
{
	/// <summary>
	/// Description of User.
	/// </summary>
	public class BancoHoras
	{
		#region private Declaration
		private common.GenerateSql gsql = new common.GenerateSql();
		private string banco_horas_func_id;
		private string banco_horas_trabalhadas;
		private string banco_horas_deveriam_ser_trabalhadas;

		#endregion
		
		public BancoHoras()
		{
			clear();
			gsql.table= "v_banco_horas";
			//_sequence = "banco_horas_banco_horas_id_seq";

		}
		
		#region properties

		public string func_id 
		{
			get { return banco_horas_func_id; }
			set { banco_horas_func_id = value; }
		}
		

		public string horas_trabalhadas
		{
			get { return banco_horas_trabalhadas;}
			set { banco_horas_trabalhadas= value;}
		}

		public string horas_deveriam_ser_trabalhadas
		{
			get { return banco_horas_deveriam_ser_trabalhadas;}
			set { banco_horas_deveriam_ser_trabalhadas= value;}
		}

		#endregion
	
		public void clear()
		{
			banco_horas_func_id= string.Empty;
			banco_horas_trabalhadas= string.Empty;
			banco_horas_deveriam_ser_trabalhadas= string.Empty;
		}
	
		public void get(System.Data.DataRow dr)
		{
			banco_horas_func_id= dr["func_id"].ToString();
			banco_horas_trabalhadas= dr["horas_trabalhadas"].ToString();
			banco_horas_deveriam_ser_trabalhadas= dr["horas_deveriam_ser_trabalhadas"].ToString();
		}
		
		
		public string getTotalHorasExtras()
		{
			gsql.prepare();
			gsql.commandType = csharp.common.GenerateSql.TCommandType.CMD_SELECT;
			gsql.setValue("gamb","total");
			gsql.conditionalWhere = "id_func = "+banco_horas_func_id;
			//gsql.additionalWhere  = "GROUP BY banco_horas_func_id";
			
			if (gsql.execute())
			{
				if (gsql.getRowCount() > 0)
				{
					return gsql.getRow(0)["total"].ToString();
				}
			}
			return "00:00:00";
		}		
	}
	
	public class BancoHorass
	{
		private List<BancoHoras> _list = new List<BancoHoras>();
		private common.GenerateSql gsql = new common.GenerateSql();
		private Int32 index = 0;
		private string msgErro;
		
		public BancoHorass()
		{
			gsql.table = "v_banco_horas";
		}
		
		
		public BancoHoras get(int index)
		{
			return _list[index];
		}
		
		
		public BancoHoras get()
		{
			return _list[index];
		}
		
		
		public int count()
		{
			return _list.Count;
		}
		
		public void add(BancoHoras value)
		{
			_list.Add((BancoHoras)value);
		}
		
		public bool fillList()
		{
			gsql.prepare();
			gsql.setValue("","*");
			
			return mountList();
		}
		
		private bool mountList()
		{
			int tam;
			
			if (!gsql.execute())
			{
				msgErro = gsql.getMsgErro();
				return false;
			}
			
			clear();
			tam = gsql.getRowCount();
			for (int i=0; i < tam; i++)
			{
				BancoHoras obj = new BancoHoras();
				obj.get(gsql.getRow(i));
				
				_list.Add(obj);
			}
			return true;
		}
		
		
		public void clear()
		{
			_list.Clear();
		}
		
	}
}
